﻿// 104 ATM.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

using  namespace std;

/*


http://oj.daimayuan.top/course/23/problem/946
Siruseri城中的道路都是单向的。不同的道路由路口连接。按照法律的规定，在每个路口都设立了一个 Siruseri 银行的 ATM 取款机。
令人奇怪的是，Siruseri 的酒吧也都设在路口，虽然并不是每个路口都设有酒吧。

Banditji 计划实施 Siruseri 有史以来最惊天动地的 ATM 抢劫。他将从市中心出发，沿着单向道路行驶，抢劫所有他途径的 ATM 机，
最终他将在一个酒吧庆祝他的胜利。使用高超的黑客技术，他获知了每个 ATM 机中可以掠取的现金数额。
他希望你帮助他计算从市中心出发最后到达某个酒吧时最多能抢劫的现金总数。他可以经过同一路口或道路任意多次。
但只要他抢劫过某个 ATM 机后，该 ATM 机里面就不会再有钱了。

问最多能抢劫的现金总数。

输入格式
第一行包含两个整数N,M(1≤N,M≤5×105)。N表示路口的个数，M表示道路条数。

接下来M行，每行两个整数，这两个整数都在1到N之间，第i+1行的两个整数表示第i条道路的起点和终点的路口编号。

接下来N行，每行一个整数，按顺序表示每个路口处的ATM机中的钱数。保证每个ATM机中可取的钱数为一个非负整数且不超过4000。

接下来一行包含两个整数S,P，S表示市中心的编号，也就是出发的路口。P表示酒吧数目。

接下来的一行中有P个整数，表示P个有酒吧的路口的编号。

输入数据保证你可以从市中心沿着Siruseri的单向的道路到达其中的至少一个酒吧。

输出格式
输出一个整数，表示Banditji从市中心开始到某个酒吧结束所能抢劫的最多的现金总数。

样例输入
6 7
1 2
2 3
3 5
2 4
4 1
2 6
6 5
10
12
8
16
1
5
1 4
4
3
5
6
样例输出
47
*/


/*

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const int N = 501000;
vector<int> e[N];

int n, m, mod, cnt;

int dfn[N], low[N], ins[N], bel[N], idx;
stack<int> stk;
int val[N], bar[N];
ll dp[N];

void dfs(int u) {
	dfn[u] = low[u] = ++idx;
	ins[u] = true;
	stk.push(u);
	for (auto v : e[u]) {
		if (!dfn[v]) dfs(v);
		if (ins[v]) low[u] = min(low[u], low[v]);
	}
	if (dfn[u] == low[u]) {
		++cnt;
		ll sval = 0;
		bool sbar = false;
		dp[cnt] = -(1ll << 60);
		while (true) {
			int v = stk.top();
			ins[v] = false;
			bel[v] = cnt;
			sval += val[v];
			sbar |= bar[v];
			for (int w : e[v]) if (bel[w] != cnt && bel[w] != 0) {
				dp[cnt] = max(dp[cnt], dp[bel[w]]);
			}
			stk.pop();
			if (v == u) break;
		}
		if (sbar) dp[cnt] = max(dp[cnt], 0ll);
		dp[cnt] += sval;
	}
}

int main() {
	scanf("%d%d", &n, &m);
	for (int i = 0; i < m; i++) {
		int u, v;
		scanf("%d%d", &u, &v);
		e[u].push_back(v);
	}
	for (int i = 1; i <= n; i++) {
		scanf("%d", val + i);
	}
	int s, p;
	scanf("%d%d", &s, &p);
	for (int i = 1; i <= p; i++) {
		int x;
		scanf("%d", &x);
		bar[x] = 1;
	}
	dfs(s);
	printf("%lld\n", dp[bel[s]]);
}

*/

int main()
{
    std::cout << "Hello World!\n";
}

 